package com.egreen.system.repository;

import org.springframework.stereotype.Repository;

/**
 * 存储验证码
 */
public interface VerificationCodeRedisRepository {
    /**
     * 存储的前缀
     */
    String KEY_CODE = "code:user:";
    /**
     * 设置定时过期
     * 30分钟
     */
    int MIN = 30;

    /**
     * 判断缓存中是否存在该条记录
     */
    Boolean exist(Long userId);

    /**
     * 将当前记录填进缓存
     */
    void save(Long userId, String code);

    /**
     * 将当前用户的验证码删除（用于重新发送验证码）
     */
    void deleteCode(Long userId);

    /**
     * 获取验证码
     */
    String getKeyCode(Long userId);


    /*String*/

    /**
     * 判断缓存中是否存在该条记录
     */
    Boolean exist(String userKey);

    /**
     * 将当前记录填进缓存
     */
    void save(String userKey, String code);

    /**
     * 将当前用户的验证码删除（用于重新发送验证码）
     */
    void deleteCode(String userKey);

    /**
     * 获取验证码
     */
    String getKeyCode(String userKey);
}
